Analysis and Optimization of Explicitly Parallel Programs Using the Parallel Program Graph Representation Analysis and Optimization of Explicitly Parallel Programs Using the Parallel Program Graph Representation
نویسنده
چکیده
As more and more programs are written in explicitly parallel programming languages , it becomes essential to extend the scope of sequential analysis and optimization techniques to explicitly parallel programs. Since the deenition of a program dependence graph (PDG) is strongly tied to its underlying sequential program, the PDG is an inadequate intermediate representation for analysis and optimization of explicitly parallel programs. In this paper, we propose the use of Parallel Program Graphs (PPGs) as a general parallel program representation for analysis and optimization of explicitly parallel programs. PPGs are comprised of parallel control ow edges and synchronization edges, and can represent a broad class of deterministic parallel programs. We highlight the main diierences between PPGs and PDGs and show how PPGs are strictly more general than PDGs. We also present a solution to the reaching deenitions analysis problem for PPGs to illustrate how PPGs can be used to perform analysis and optimization of explicitly parallel programs.
منابع مشابه
Analysis and Optimization of Explicitly Parallel Programs Using the Parallel Program Graph Representation
متن کامل
Parallel Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques, such as constant propagation, of sequential programs. We introduce a new Parallel Static Single Assignment (PSSA) form and the transformation algorithm for the explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this pap...
متن کاملConcurrent Static Single Assignment Form and Constant Propagation for Explicitly Parallel Programs
Static Single Assignment (SSA) form has shown its usefulness for powerful code optimization techniques such as constant propagation in sequential programs. We introduce the Concurrent Static Single Assignment (CSSA) form and the transformation algorithm for explicitly parallel programs with interleaving semantics and post-wait synchronization. The parallel construct considered in this paper is ...
متن کاملExperiences with Code and Hence in Visual Programming for Parallel Computing 16
Visual programming has particular appeal for explicit parallel programming, particularly coarse grain MIMD programming. Explicitly parallel programs are multi-dimensional objects; the natural representations of a parallel program are annotated directed graphs: data flow graphs, control flow graphs, etc. where the nodes of the graphs are sequential computations. A visually based (directed graph)...
متن کاملModeling Data-Parallel Programs with the Alignment-Distribution Graph
We present an intermediate representation of a program called the Alignment-Distribution Graph that exposes the communication requirements of the program. The representation exploits ideas developed in the static single assignment form of programs, but is tailored for communication optimization. It serves as the basis for algorithms that map the array data and program computation to the nodes o...
متن کامل